//
//  NetworkCenter.h
//  zhangjiantest2
//
//  Created by ZJL on 2024/7/5.
//

#import <Foundation/Foundation.h>
#import "NetworkManager.h"
typedef enum {
   Type_Create_Wallet = 0,
   Type_Recovery_Wallet = 1,
   Type_Recovery_Other = 2,
}Get_Wallet_Type;
NS_ASSUME_NONNULL_BEGIN
@interface NetworkCenter : NSObject
+ (instancetype)sharedInstance;
// 获取版本号
+(void)checkBridgeVersionWithBody:(NSData *)data 
                       completion:(completion)completion;

+(void)enumerateDevicesWithBody:(NSData *)data 
                     completion:(completion)completion;

+(void)acquireDeviceWithPathWithBody:(NSData *)data 
                                path:(NSString *)path
                          completion:(completion)completion;

+(void)sendRecoveryCommandWithSessionWithBody:(NSData *)data
                                      session:(NSString *)session
                                   completion:(completion)completion;

+(void)sendButtonAckCommandWithSessionWithBody:(NSData *)data 
                                       session:(NSString *)session
                                    completion:(completion)completion;

+(void)listenDeviceWithPathWithBody:(NSData *)data 
                         completion:(completion)completion;

+(void)sendRestartCommandWithSessionWithBody:(NSData *)data
                                     session:(NSString *)session
                                  completion:(completion)completion;

+(void)getDeviceStatusWithSessionWithBody:(NSData *)data 
                                  session:(NSString *)session
                               completion:(completion)completion;

+(void)getFeaturesWithSessionWithBody:(NSData *)data 
                              session:(NSString *)session
                           completion:(completion)completion;

+(void)sendResetDeviceCommandWithSessionWithBody:(NSData *)data 
                                         session:(NSString *)session
                                      completion:(completion)completion;

+(void)startRecoveryWithSessionWithBody:(NSData *)data 
                                session:(NSString *)session
                             completion:(completion)completion;

+(void)sendWordWithBody:(NSData *)data 
                session:(NSString *)session
             completion:(completion)completion;

+(void)startBackupDeviceCommandWithSessionWithBody:(NSData *)data
                                           session:(NSString *)session
                                        completion:(completion)completion;

+(void)sendEntropyAckCommandWithSessionWithBody:(NSData *)data
                                        session:(NSString *)session
                                     completion:(completion)completion;

+(void)getFeaturesWithSessionForCreateWithBody:(NSData *)data
                                       session:(NSString *)session
                                    completion:(completion)completion;


+(void)getFeaturesWithSessionForPinWithBody:(NSData *)data
                                    session:(NSString *)session
                                 completion:(completion)completion;

// get Address
+(void)getAddressWithSessionWithBody:(NSData *)data
                             session:(NSString *)session
                          completion:(completion)completion;

// get Public key
+(void)getPublicKeyWithSessionWithBody:(NSData *)data
                               session:(NSString *)session
                            completion:(completion)completion;

// create wallet
-(void)createWallet:(Get_Wallet_Type)type;

// recovery wallet
-(void)recoveryWallet:(Get_Wallet_Type)type;

+(NSString *)getMessageResponse:(NSData *)data
                            url:(NSString *)url;
@end

NS_ASSUME_NONNULL_END
